package com.zq.springcloud.service;


import com.zq.springcloud.entity.Emp;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * ================================================
 * 作    者：程志强
 * 邮    箱：cheng.zhiqiang@cesgroup.com.cn
 * 版    本：1.0.0
 * 创建日期：2021/01/05  16:17
 * 修改日期：
 * 描    述：Hystrix服务降级(使用Feign消费者)
 * 修订历史：
 * ================================================
 */
@Component
public class EmpClientServiceFallbackFactory implements FallbackFactory<IEmpClientService> {


    public IEmpClientService create(Throwable throwable) {
        return new IEmpClientService() {
            public Emp queryById(long empId) {
                Emp emp = new Emp();
                emp.setId(empId);
                emp.setEmpName("empId=>" + empId + ",没有对应的信息，提供了降级信息，这个服务已被关闭。");
                emp.setDataSource("no data in mysql!");
                return emp;
            }

            public List<Emp> queryAll() {
                return null;
            }
        };
    }
}
